import useDictStore from '@/store/modules/dict'
import { getDicts } from '@/api/system/dict/data'

/**
 * 获取字典数据
 */
export function useDict(...args) {
  const res = ref({});
  return (() => {
    args.forEach((dictType, index) => {
      res.value[dictType] = [];
      const dicts = useDictStore().getDict(dictType);
      if (dicts) {
        res.value[dictType] = dicts;
      } else {
        getDicts(dictType).then(resp => {
          res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }))
          useDictStore().setDict(dictType, res.value[dictType]);
        })
      }
    })
    return toRefs(res.value);
  })()
}


//根据 value 获取对象
export const GetDictObjForValue = (objArr, value) => {
  if (!objArr || objArr.length == 0 || !(value + '')) {
    return
  }
  for (let i = 0; i < objArr.length; i++) {
    if (objArr[i].value == value) {
      return objArr[i]
    }
  }
  return {}
}


// 业务受理状态
export const BusinessHandleStatus = [{
  text: '未受理',
  value: 0
}, {
  text: '已受理',
  value: 1
}, {
  text: '已拒绝',
  value: 2
}, {
  text: '已撤回',
  value: 3
}, {
  text: '已退回',
  value: 6
}]

// 检测报告状态
// 报告状态（1.待审核  2.审核未通过 3审核通过-待批准 4.批准未通过 5.批准通过-待发放6.拒绝发放7.已发放 8.已归档 9.报告追回）
export const ReportHandleStatus = [{
  text: '待审核',
  value: 1
}, {
  text: '审核退回',
  value: 2
}, {
  text: '审核通过-待批准',
  value: 3
}, {
  text: '批准退回',
  value: 4
}, {
  text: '批准通过-待发放',
  value: 5
}, {
  text: '拒绝发放',
  value: 6
}, {
  text: '已发放',
  value: 7
}, {
  text: '已归档',
  value: 8
}, {
  text: '报告追回',
  value: 9
}]


//检测计划状态
//报检状态：0-未分派、1-已分派、2-已撤回
export const PlanCheckStatus = [{
  text: '未分派',
  value: 0
}, {
  text: '已分派',
  value: 1
}, {
  text: '已撤回',
  value: 2
}]


//检测任务状态
//任务状态(0:未开始,1:进行中,2:待整改,3:中止,4:转移;5:完成;6:复检中)
export const TaskCheckStatus = [{
  text: '未开始',
  value: 0
}, {
  text: '进行中',
  value: 1
}, {
  text: '待整改',
  value: 2
}, {
  text: '中止',
  value: 3
}, {
  text: '转移',
  value: 4
}, {
  text: '完成',
  value: 5
}, {
  text: '复检中',
  value: 6
}]


// 检测记录状态
// 报告状态（1.待审核  2.审核未通过 3审核通过-待批准 4.批准未通过 5.批准通过 6.退回 8.待整改 9.报告追回）
export const RecordHandleStatus = [{
  text: '待审核',
  value: 1
}, {
  text: '审核未通过',
  value: 2
}, {
  text: '审核通过-待批准',
  value: 3
}, {
  text: '批准未通过',
  value: 4
}, {
  text: '批准通过-待发放',
  value: 5
}, {
  text: '退回',
  value: 6
}, {
  text: '待整改',
  value: 8
}, {
  text: '报告追回',
  value: 9
}]

// 检测记录状态
export const RecordListHandleStatus = [{
  text: '记录已生成',
  value: 0
}, {
  text: '待审核',
  value: 1
}, {
  text: '审核退回',
  value: 2
}, {
  text: '审核通过-待批准',
  value: 3
}, {
  text: '批准退回',
  value: 4
}, {
  text: '批准通过',
  value: 5
}, {
  text: '待整改确认',
  value: 8
}, {
  text: '报告追回',
  value: 9
}]


//批准页面查询的状态
export const RecordRatifyQueryStatus = [{
  text: '审核通过-待批准',
  value: 3
}, {
  text: '批准退回',
  value: 4
}, {
  text: '批准通过',
  value: 5
}, {
  text: '报告追回',
  value: 9
}]

//审核页面查询的状态
export const RecordExamineQueryStatus = [{
  text: '待审核',
  value: 1
}, {
  text: '审核退回',
  value: 2
}, {
  text: '审核通过-待批准',
  value: 3
}, {
  text: '批准退回',
  value: 4
}, {
  text: '报告追回',
  value: 9
}]

//检测报告发放页面查询的状态
export const RecordGrantQueryStatus = [{
  text: '批准通过-待发放',
  value: 5
}, {
  text: '已发放', 
  value: 7
}, {
  text: '报告追回',
  value: 9
}]
 
//检测报告追回页面查询的状态
export const ReportReturnQueryStatus = [{
  text: '已发放',
  value: 7
}, {
  text: '已归档',
  value: 8
}, {
  text: '报告追回',
  value: 9
}]

//检测报告归档页面查询的状态
export const ReportToFileQueryStatus = [{
  text: '已发放',
  value: 7
}, {
  text: '已归档',
  value: 8
}, {
  text: '报告追回',
  value: 9
}]


//任职类型
export const JobPostType = [{
  text: '兼职',
  value: 0
}, {
  text: '主要任职',
  value: 1
}, {
  text: '副职',
  value: 2
}, {
  text: '无',
  value: 3
}]

//菜单状态
export const menuType = [{
  text: '正常',
  value: 0
}, {
  text: '停用',
  value: 1
}]



JobPostType